<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<script src="../js/vue.js"></script>
<div id="app">
    <cpn :number1="num1" :number2="num2" @num1change="num1change"></cpn>

</div>
<template id="cpn">
    <div>
        <h2>props:{{number1}}</h2>
        <h2>data:{{dNumber1}}</h2>
        <input type="text" :value="dNumber1" @input="num1Input"> <!--这里的双向绑定子组件里的数据，千万不要图省事，直接绑定父组件的属性，要重新写data方法-->
        <h2>props:{{number2}}</h2>
        <h2>data:{{dNumber2}}</h2>
        <input type="text" v-model="dNumber2">
    </div>
</template>
<script>
    const app = new Vue({
        el:'#app',
        data:{
            num1:1,
            num2:0
        },
        //父组件的方法
        methods:{
            num1change(a){
                this.num1=parseInt(a);
            }
        },
        components: {
            cpn:{
                template:`#cpn`,
                props:{
                    number1: Number,
                    number2: Number

                },
                data(){
                    return{
                        dNumber1:this.number1,
                        dNumber2:this.number2
                    }
                },
                //子组件的方法
                methods:{
                    num1Input(event) {
                        this.dNumber1=event.target.value
                        this.$emit('num1change',this.dNumber1);
                    }
                }

            }
        }
    })
</script>

</body>
</html>